#ifndef _PIN_MUX_H_
#define _PIN_MUX_H_


/*!
 * @addtogroup pin_mux
 * @{
 */

/***********************************************************************************************************************
 * API
 **********************************************************************************************************************/

#if defined(__cplusplus)
extern "C" {
#endif

/*!
 * @brief Calls initialization functions.
 *
 */
void BOARD_InitBootPins(void);

/*!
 * @brief
 * Analog switch input control.
 * : For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9 analog switch is
 * closed (enabled).
 */
#define PIO0_10_ASW_VALUE1 0x01u
/*!
 * @brief Select Digital mode.: Disable digital mode. Digital input set to 0. */
#define PIO0_10_DIGIMODE_ANALOG 0x00u
/*!
 * @brief Selects pin function.: Alternative connection 0. */
#define PIO0_10_FUNC_ALT0 0x00u
/*!
 * @brief
 * Selects function mode (on-chip pull-up/pull-down resistor control).
 * : Inactive.
 * Inactive (no pull-down/pull-up resistor enabled).
 */
#define PIO0_10_MODE_INACTIVE 0x00u
/*!
 * @brief
 * Analog switch input control.
 * : For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9 analog switch is
 * closed (enabled).
 */
#define PIO0_31_ASW_VALUE0 0x00u
/*!
 * @brief
 * Analog switch input control.
 * : For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9 analog switch is
 * closed (enabled).
 */
#define PIO0_31_ASW_VALUE1 0x01u
/*!
 * @brief Select Digital mode.: Disable digital mode. Digital input set to 0. */
#define PIO0_31_DIGIMODE_ANALOG 0x00u
/*!
 * @brief Selects pin function.: Alternative connection 0. */
#define PIO0_31_FUNC_ALT0 0x00u
/*!
 * @brief
 * Selects function mode (on-chip pull-up/pull-down resistor control).
 * : Inactive.
 * Inactive (no pull-down/pull-up resistor enabled).
 */
#define PIO0_31_MODE_INACTIVE 0x00u
/*!
 * @brief
 * Analog switch input control.
 * : For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9 analog switch is
 * closed (enabled).
 */
#define PIO1_0_ASW_VALUE0 0x00u
/*!
 * @brief
 * Analog switch input control.
 * : For all pins except PIO0_9, PIO0_11, PIO0_12, PIO0_15, PIO0_18, PIO0_31, PIO1_0 and PIO1_9 analog switch is
 * closed (enabled).
 */
#define PIO1_0_ASW_VALUE1 0x01u
/*!
 * @brief Select Digital mode.: Disable digital mode. Digital input set to 0. */
#define PIO1_0_DIGIMODE_ANALOG 0x00u
/*!
 * @brief Selects pin function.: Alternative connection 0. */
#define PIO1_0_FUNC_ALT0 0x00u
/*!
 * @brief
 * Selects function mode (on-chip pull-up/pull-down resistor control).
 * : Inactive.
 * Inactive (no pull-down/pull-up resistor enabled).
 */
#define PIO1_0_MODE_INACTIVE 0x00u

/*!
 * @brief Configures pin routing and optionally pin electrical features.
 *
 */
void BOARD_InitPins(void); /* Function assigned for the Cortex-M33 (Core #0) */

#if defined(__cplusplus)
}
#endif

/*!
 * @}
 */
#endif
